#include <boost/asio.hpp>
#include <iostream>
#include <string>

using boost::asio::ip::tcp;

int client_msg(const std::string& str) {
    try {
        // 创建 IO 上下文
        boost::asio::io_context io_context;

        // 创建 TCP 套接字
        tcp::socket socket(io_context);

        // 解析服务器地址和端口
        tcp::resolver resolver(io_context);
        tcp::resolver::results_type endpoints = resolver.resolve("127.0.0.1", "443");

        // 连接到服务器
        boost::asio::connect(socket, endpoints);

        // 发送数据
        boost::asio::write(socket, boost::asio::buffer(str));

        // 接收数据
        char buff[8192];
        size_t len = socket.read_some(boost::asio::buffer(buff));

        // 输出接收到的数据
//        std::cout.write(buff, len);
//        std::cout << std::endl;

        // 关闭套接字
        socket.close();
    } catch (std::exception& e) {
        std::cerr << "Exception: " << e.what() << std::endl;
        return -1;
    }

    return 0;
}
